package cn.wyj.sync;

import org.apache.rocketmq.client.producer.DefaultMQProducer;
import org.apache.rocketmq.client.producer.SendResult;
import org.apache.rocketmq.common.message.Message;

import java.nio.charset.StandardCharsets;

/**
 * @BelongsProject: rocketmq-test
 * @BelongsPackage: cn.itsource._01_hello
 * @Author: Director
 * @CreateTime: 2022-07-23  17:18
 * @Description: 消息生产者
 * @Version: 1.0
 */
public class Producer {

    public static void main(String[] args) throws Exception {
        // 1.创建生产者对象，指定生产者组名
        // 创建一个默认的生产者对象，并设置生产者的组名
        DefaultMQProducer producer = new DefaultMQProducer("sync_group_name");



        // 2.连接mq
        // 设置NameServer的地址
//        producer.setNamesrvAddr("localhost:9876");
        producer.setNamesrvAddr("localhost:9876");

        // 3.启动生产者
        // 启动producer实例
        producer.start();

        // 4.发送消息
        // 4.1.创建消息体
        // 创建消息，并指定Topic,Tag 和消息体 JSON
        // topic：消息主题 tags：此主题下的二级分类 body：消息的字节
        Message message = new Message("order_topic", "pet_tag", "rocket-mq，入门实现！".getBytes(StandardCharsets.UTF_8));
//        Message message1 = new Message("", "", "".getBytes(StandardCharsets.UTF_8));


        // 4.2.发送消息
        SendResult sendResult = producer.send(message);
        // 4.3.打印消息发送结果
        System.out.println(sendResult);
        // 5.关闭生产者
        producer.shutdown();
    }

}